Primary Key এবং Sort Key এর ধারণা

Database Tutorials - ডাইনামোডিবি (DynamoDB) DynamoDB এর মূল ধারণা |
238
238

DynamoDB একটি NoSQL ডেটাবেস, এবং এটি ডেটা সংরক্ষণ এবং অ্যাক্সেস করার জন্য একটি বিশেষ ধরনের ডেটাবেস আর্কিটেকচার ব্যবহার করে। এতে Primary Key এবং Sort Key হল দুটি মূল উপাদান যা টেবিলের ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।

এই দুটি কীগুলি ডেটাবেসে একটি রেকর্ড (Item) এর অবস্থান নির্ধারণ করে এবং ডেটা অ্যাক্সেসের জন্য অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে।


Primary Key:

Primary Key হল একটি একক কী যা DynamoDB টেবিলের প্রতিটি রেকর্ড (Item) কে অনন্যভাবে চিহ্নিত করে। এটি অবশ্যই প্রতিটি আইটেমের জন্য ইউনিক হতে হবে, এবং এটি DynamoDB তে একটি আইটেম খুঁজে পাওয়ার জন্য ব্যবহৃত হয়।

Primary Key দুটি উপায়ে নির্ধারণ করা যেতে পারে:

  1. Partition Key (পার্টিশন কী) – একক কী (Single Attribute)
  2. Partition Key এবং Sort Key (পার্টিশন কী এবং সোর্ট কী) – দুইটি কী (Composite Key)

১. Partition Key (পার্টিশন কী):

  • Partition Key হল একটি একক কী (Single Attribute) যা DynamoDB টেবিলের প্রতিটি আইটেমকে অনন্যভাবে চিহ্নিত করে।
  • এটি টেবিলের ডেটা ভাগ করতে এবং ডিস্ট্রিবিউট করতে সাহায্য করে, অর্থাৎ প্রতিটি আইটেমের জন্য পার্টিশন তৈরি করে।
  • Partition Key এর মান অনুযায়ী, DynamoDB নিজে থেকেই ডেটাকে বিভিন্ন পার্টিশনে বিতরণ করে।

উদাহরণ:
ধরা যাক, আপনার একটি টেবিল আছে যেখানে ব্যবহারকারীর তথ্য সংরক্ষিত, এবং আপনি UserID কে Partition Key হিসেবে ব্যবহার করছেন।

  • Partition Key: UserID
  • এর মাধ্যমে, UserID অনুযায়ী প্রতিটি ব্যবহারকারীর ডেটা সনাক্ত করা যাবে এবং পার্টিশন করা হবে।

২. Partition Key এবং Sort Key (পার্টিশন কী এবং সোর্ট কী):

  • Sort Key হল একটি দ্বিতীয় কী (Second Attribute) যা আইটেমগুলিকে একই পার্টিশনে অর্ডার করতে সাহায্য করে।
  • এটি Composite Key এর অংশ, যেখানে একটি Partition Key এবং একটি Sort Key একসাথে একটি আইটেমকে অনন্যভাবে চিহ্নিত করে।
  • Sort Key এর মাধ্যমে, একই Partition Key এর অধীনে একাধিক আইটেম সংরক্ষণ করা সম্ভব হয়, এবং সেগুলির মধ্যে একটি নির্দিষ্ট অর্ডার তৈরি করা যায়।

উদাহরণ:
ধরা যাক, আপনি একটি Order টেবিল তৈরি করেছেন, যেখানে প্রতিটি ব্যবহারকারীর অর্ডারগুলি সংরক্ষিত হবে। এখানে, আপনি UserID কে Partition Key এবং OrderID কে Sort Key হিসেবে ব্যবহার করতে পারেন।

  • Partition Key: UserID (ব্যবহারকারীর আইডি)
  • Sort Key: OrderID (অর্ডারের আইডি)

এই কনফিগারেশনে, একজন ব্যবহারকারী একাধিক অর্ডার করতে পারেন, এবং প্রতিটি অর্ডারকে আলাদাভাবে শনাক্ত করা যাবে UserID এবং OrderID এর মাধ্যমে।


Primary Key এর উদাহরণ:

ধরা যাক, আপনার একটি টেবিল আছে Users নামে, যেখানে প্রতিটি ব্যবহারকারীর তথ্য সংরক্ষিত থাকে।

Example 1:

  • Partition Key: UserID
  • Item 1: { "UserID": "123", "Name": "John Doe", "Age": 30 }
  • Item 2: { "UserID": "124", "Name": "Jane Doe", "Age": 28 }

Example 2 (Composite Key):

  • Partition Key: UserID
  • Sort Key: OrderID
  • Item 1: { "UserID": "123", "OrderID": "001", "Total": 150 }
  • Item 2: { "UserID": "123", "OrderID": "002", "Total": 200 }

Sort Key এর ব্যবহার:

Sort Key এর মূল উদ্দেশ্য হল একেকটি Partition Key এর অধীনে ডেটা সাজানো বা অর্ডার করা। এটি আইটেমগুলির মধ্যে সম্পর্ক নির্ধারণ এবং দ্রুত সার্চ সক্ষম করতে সহায়তা করে।

  • Sort Key আপনাকে একই Partition Key এর অধীনে একাধিক রেকর্ড রাখার সুযোগ দেয়।
  • Sort Key এর মাধ্যমে আপনি ডেটাকে Ascending বা Descending অর্ডারে সাজাতে পারেন এবং এটি কোয়েরি অপারেশনকে আরও কার্যকরী করে তোলে।

Conclusion:

  • Primary Key ডেটাবেসের জন্য খুবই গুরুত্বপূর্ণ, কারণ এটি আইটেমগুলোকে চিহ্নিত এবং সনাক্ত করতে ব্যবহৃত হয়।
  • আপনি যদি একটি টেবিলের মধ্যে শুধুমাত্র একক আইটেম চান, তবে Partition Key ব্যবহার করুন।
  • যদি একাধিক আইটেম একই Partition Key এর অধীনে রাখার প্রয়োজন হয়, তবে Partition Key এবং Sort Key এর সংমিশ্রণ ব্যবহার করুন।

এটি DynamoDB এর মূল ধারণার একটি গুরুত্বপূর্ণ অংশ, কারণ এটি ডেটাবেসের পারফরম্যান্স, স্কেলেবিলিটি এবং অর্ডারিং সক্ষমতা সরাসরি প্রভাবিত করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion